#pragma once

typedef enum {
	IRQNO_SFT = 3,
	IRQNO_BTIMER = 7,
	IRQNO_BWEI = 17,
	IRQNO_PMOVI = 18,

	// 从19号开始为外部中断
	IRQNO_WATCHDOG = 19,
	IRQNO_EXTI_LINE_LVD = 20,
	IRQNO_INTRUTION = 21,
	IRQNO_RTC = 22,
	IRQNO_FMC = 23,
	IRQNO_RCU = 24,
	IRQNO_EXTI_LINE0 = 25,
	IRQNO_EXTI_LINE1 = 26,
	IRQNO_EXTI_LINE2 = 27,
	IRQNO_EXTI_LINE3 = 28,
	IRQNO_EXTI_LINE4 = 29,
	IRQNO_DMA0_CHANNEL0 = 30,
	IRQNO_DMA0_CHANNEL1 = 31,
	IRQNO_DMA0_CHANNEL2 = 32,
	IRQNO_DMA0_CHANNEL3 = 33,
	IRQNO_DMA0_CHANNEL4 = 34,
	IRQNO_DMA0_CHANNEL5 = 35,
	IRQNO_DMA0_CHANNEL6 = 36,
	IRQNO_ADC = 37,
	IRQNO_CAN0_SEND = 38,
	IRQNO_CAN0_RECV0 = 39,
	IRQNO_CAN0_RECV1 = 40,
	IRQNO_CAN0_EWMC = 41,
	IRQNO_EXTI_LINE5_TO_9 = 42,
	IRQNO_TIMER0_BREAK = 43,
	IRQNO_TIMER0_UPDATE = 44,
	IRQNO_TIMER0_TRIG_CHANNEL_COMM = 45,
	IRQNO_TIMER0_CHANNEL_CAPTURE_CMP = 46,
	IRQNO_TIMER1 = 47,
	IRQNO_TIMER2 = 48,
	IRQNO_TIMER3 = 49,
	IRQNO_I2C0_EVENT = 50,
	IRQNO_I2C0_ERROR = 51,
	IRQNO_I2C1_EVENT = 52,
	IRQNO_I2C1_ERROR = 53,
	IRQNO_SPI0 = 54,
	IRQNO_SPI1 = 55,
	IRQNO_USART0 = 56,
	IRQNO_USART1 = 57,
	IRQNO_USART2 = 58,
	IRQNO_EXTI_LINE10_TO_15 = 59,
	IRQNO_EXTI_RTC_ALARM = 60,
	IRQNO_EXTI_USBFS_WAKEUP = 61,
	IRQNO_TIMER4 = 69,
	IRQNO_SPI2 = 70,
	IRQNO_UART3 = 71,
	IRQNO_UART4 = 72,
	IRQNO_TIMER5 = 73,
	IRQNO_TIMER6 = 74,
	IRQNO_DMA1_CHANNEL0 = 75,
	IRQNO_DMA1_CHANNEL1 = 76,
	IRQNO_DMA1_CHANNEL2 = 77,
	IRQNO_DMA1_CHANNEL3 = 78,
	IRQNO_DMA1_CHANNEL4 = 79,
	IRQNO_CAN1_SEND = 82,
	IRQNO_CAN1_RECV0 = 83,
	IRQNO_CAN1_RECV1 = 84,
	IRQNO_CAN1_EWMC = 85,
	IRQNO_USBFS = 86,
	// 最后的“中断号”并不是中断号，不存在该号的中断，其作用是表示中断个数。
	IRQNO_AMOUNT,
} eclic_irqno_e;
